-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: extract merge from UC and simplify #4343
Conversation
Benchmark resultsNo metrics with a significant change found. Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contracts are deployed in the tx.
Transaction processing duration by data writes.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks mostly good to me as changes, requested just some comments to be kept and left a question
@@ -109,7 +112,7 @@ class Goblin { | |||
auto ultra_proof = prover.construct_proof(); | |||
|
|||
// Construct and store the merge proof to be recursively verified on the next call to accumulate | |||
auto merge_prover = composer.create_merge_prover(op_queue); | |||
MergeProver merge_prover{ op_queue }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the plan to eventually do this for all Provers/Verifiers or is there sth specific to the Merge ones that motivated this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the Merge classes it didn't make any sense for the Composer to be involved, this was just leftover from when the merge protocol was baked into the main Ultra protocol. More generally, it makes sense for classes to be constructed directly via their constructors when possible. The only argument for having methods like create_prover/verifier on the Composer is that the composer is doing some behind the scenes work that's required for the construction of both of these classes. I suspect that we could do what I've done here for most of the other classes currently constructed by the composer and I think we probably should.
using PCS = typename Flavor::PCS; | ||
using Curve = typename Flavor::Curve; | ||
class MergeProver { | ||
using Curve = curve::BN254; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't still be taken from the flavor, even though GoblinUltra
flavor is going to be the fixed one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No because essentially the only data being extracted from the Flavor here was curve data. We'll only ever run the merge protocol on bn254 so there's no need for templating (similar to how the Translator is not templated).
const std::shared_ptr<ECCOpQueue>& op_queue, | ||
const std::shared_ptr<Transcript>& transcript = std::make_shared<Transcript>()) | ||
{ | ||
// Store the previous aggregate op queue size and update the current one |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the comments here are valuable and are not entirely reflected in the changes to MergeProver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you be more specific? Looks like there are two comments here and I think they both made it into the new MergeProver constructor (albeit in a slightly modified form)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, indeed, I rechecked, my bad
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.22.0</summary> ## [0.22.0](aztec-packages-v0.21.0...aztec-packages-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](#4420)) * Add expression width into acir ([#4014](#4014)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](#4383)) * Unencrypted logs are not strings ([#4392](#4392)) * init storage macro ([#4200](#4200)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) * introduce compute_note_hash_for_(consumption/insertion) ([#4344](#4344)) * replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](#4342)) * Include contract class id in deployment info ([#4223](#4223)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](#4135)) ### Features * Add aztec node to client execution and nuke state info provider [#4320](#4320) ([#4401](#4401)) ([2dec0cc](2dec0cc)) * Add bit size to const opcode ([#4385](#4385)) ([b2a000e](b2a000e)) * Add expression width into acir ([#4014](#4014)) ([f09e8fc](f09e8fc)) * Add meta_hwm to PrivateCircuitPublicInputs ([#4341](#4341)) ([4f248b5](4f248b5)) * Add poseidon2 hashing to native transcript ([#3718](#3718)) ([afcfa71](afcfa71)) * Adding slitherin detectors ([#4246](#4246)) ([7cdc186](7cdc186)) * Allow using of current block in inclusion proofs ([#4285](#4285)) ([728c5ac](728c5ac)), closes [#4274](#4274) * **avm-transpiler:** Brillig to AVM transpiler ([#4227](#4227)) ([c366c6e](c366c6e)) * **avm:** Add command to call avm proving in bb binary ([#4369](#4369)) ([4f6d607](4f6d607)), closes [#4039](#4039) * **avm:** Add revert tracking to the journal ([#4349](#4349)) ([1615803](1615803)) * **avm:** Back in avm context with macro - refactor context ([#4438](#4438)) ([ccf9b17](ccf9b17)) * **avm:** Complete SET instruction ([#4378](#4378)) ([013891f](013891f)) * **avm:** Implement avm state getter opcodes within noir contracts ([#4402](#4402)) ([9f2a6eb](9f2a6eb)) * **avm:** Implement serialization for all existing operations ([#4338](#4338)) ([13e0683](13e0683)) * **avm:** Keep history of reads and writes in journal ([#4315](#4315)) ([cdf1baf](cdf1baf)) * **aztec-nr:** Initial work for aztec public vm macro ([#4400](#4400)) ([0024590](0024590)) * **bb:** Wasmtime and remote benchmarking ([#4204](#4204)) ([fd27808](fd27808)) * Contract class registerer contract ([#4403](#4403)) ([d953090](d953090)), closes [#4069](#4069) [#4070](#4070) * Crude stable var implementation ([#4289](#4289)) ([5f9eee4](5f9eee4)) * **docs:** Docs deeper dive into unconstrained functions ([#4233](#4233)) ([6af548e](6af548e)) * Emit single functions from class registerer ([#4429](#4429)) ([19e03ad](19e03ad)), closes [#4427](#4427) * Extend Historical Access APIs [#4179](#4179) ([#4375](#4375)) ([c918d8d](c918d8d)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](#4340)) ([8569e7c](8569e7c)) * Hashing output of `serialize()` in noir + more tests ([#4365](#4365)) ([5a71bb9](5a71bb9)) * Implementation for bigint opcodes ([#4288](#4288)) ([b61dace](b61dace)) * Improve ivc bench ([#4242](#4242)) ([9d28354](9d28354)) * Include contract class id in deployment info ([#4223](#4223)) ([0ed4126](0ed4126)), closes [#4054](#4054) * Init storage macro ([#4200](#4200)) ([11d9697](11d9697)) * Memory only brillig ([#4215](#4215)) ([018177b](018177b)) * Nullified note retrieval in get_notes and view_notes ([#4238](#4238)) ([8d02eb7](8d02eb7)) * Private calls and initialization of undeployed contracts ([#4362](#4362)) ([f31c181](f31c181)), closes [#4057](#4057) [#4058](#4058) [#4059](#4059) * Sequencer processes transactions in phases ([#4345](#4345)) ([78cc709](78cc709)) * Unencrypted logs are not strings ([#4392](#4392)) ([25a7ea7](25a7ea7)) * Verify function against contract class id in private kernel ([#4337](#4337)) ([e1d832d](e1d832d)), closes [#4056](#4056) ### Bug Fixes * **avm-transpiler:** Avm-transpiler bootstrap by tying down rust version ([#4347](#4347)) ([09d0730](09d0730)) * **avm-transpiler:** Bump rust toolchain version for transpiler ([#4356](#4356)) ([75e30b9](75e30b9)) * **avm:** Fix SendL2ToL1Message implementation ([#4367](#4367)) ([ee560c3](ee560c3)) * Aztec binary fixes ([#4273](#4273)) ([84e1f7d](84e1f7d)) * Bb build ([#4317](#4317)) ([82f5f03](82f5f03)) * Load contract artifact from json ([#4352](#4352)) ([47a0a79](47a0a79)) * Mac build ([#4336](#4336)) ([aeb4cf0](aeb4cf0)) * **noir-contracts:** Disable transpilation for now ([#4372](#4372)) ([37662b7](37662b7)) * Nr codegen to use new protocol types path ([#4353](#4353)) ([84e63b1](84e63b1)), closes [#4193](#4193) * Relative LogFn import ([#4328](#4328)) ([1faead5](1faead5)) * Release the size of goblin translator ([#4259](#4259)) ([6e1d958](6e1d958)) * Transpiler build ([#4386](#4386)) ([032ddc5](032ddc5)) ### Miscellaneous * `PublicCircuitPublicInputs` and `PrivateCircuitPublicInputs` cleanup ([#4360](#4360)) ([b92d690](b92d690)) * `toFields()`/`fromFields(...)` methods in more classes ([#4335](#4335)) ([433b9eb](433b9eb)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) * Add bigint solver in ACVM and add a unit test for bigints in Noir ([#4415](#4415)) ([e4a2fe9](e4a2fe9)) * Add bootstrap_cache for avm-transpiler ([#4357](#4357)) ([bfebebb](bfebebb)) * Add disclaimer ([#4393](#4393)) ([6895f52](6895f52)) * Add migration note for serialization change ([#4414](#4414)) ([968a3a0](968a3a0)) * **avm:** Make interpreter a function not a class ([#4272](#4272)) ([14e8c5c](14e8c5c)) * **avm:** Refactor AVM Simulator and fix issues ([#4424](#4424)) ([a6179bd](a6179bd)) * Call stack item cleanup ([#4381](#4381)) ([341b0a1](341b0a1)) * Check loading Nargo artifacts works in the cli ([#4355](#4355)) ([43b58b3](43b58b3)) * Cleanup + various doc improvements ([#4282](#4282)) ([648229c](648229c)), closes [#4264](#4264) * Collapse bb::honk ([#4318](#4318)) ([5853af4](5853af4)) * Consistent naming of serialization method ([#4379](#4379)) ([148d5dc](148d5dc)) * Do not run forge fmt because not everyone has forge installed ([#4430](#4430)) ([ecb6c3f](ecb6c3f)) * **docs:** Update broken link ref in slow_updates_tree.md ([#4339](#4339)) ([2599d7f](2599d7f)) * Eth address tech debt cleanup ([#4442](#4442)) ([153989f](153989f)) * Extract merge from UC and simplify ([#4343](#4343)) ([54fd794](54fd794)) * Fix bb wasm build when using remote cache ([#4397](#4397)) ([14e57cb](14e57cb)) * Fix clippy warnings in `avm-transpiler` ([#4416](#4416)) ([e54ecd2](e54ecd2)) * Format l1-contracts after generating constants ([#4448](#4448)) ([de11994](de11994)) * Git subrepo commit (merge) noir ([#4321](#4321)) ([348d18a](348d18a)) * Git subrepo pull (merge) noir ([#4331](#4331)) ([683f782](683f782)) * Implementing `deserialize()` in Noir structs ([#4384](#4384)) ([e63bbae](e63bbae)) * Introduce compute_note_hash_for_(consumption/insertion) ([#4344](#4344)) ([26a0d49](26a0d49)) * Optimize prove_note_validity [#4418](#4418) ([#4426](#4426)) ([4de2540](4de2540)) * Poseidon2 hash uses span instead of vector ([#4003](#4003)) ([f63e7a9](f63e7a9)) * Reenable private kernel function tree checks ([#4358](#4358)) ([e7db0da](e7db0da)) * Remove hardcoded storage slot values ([#4398](#4398)) ([d2294a4](d2294a4)) * Rename bigint_neg into bigint_sub ([#4420](#4420)) ([57824fe](57824fe)) * Replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](#4342)) ([8368659](8368659)) * Replace relative paths to noir-protocol-circuits ([23de650](23de650)) * Replace relative paths to noir-protocol-circuits ([b8d427f](b8d427f)) * Replace relative paths to noir-protocol-circuits ([113dec1](113dec1)) * Replace relative paths to noir-protocol-circuits ([a79093b](a79093b)) * Replace relative paths to noir-protocol-circuits ([808b4eb](808b4eb)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](#4135)) ([9e6605c](9e6605c)) * Simpler noir sync ([#4376](#4376)) ([665b35e](665b35e)) * Surpress chained macro warning ([#4396](#4396)) ([5e9c790](5e9c790)) * Switch to macos-14 for m1 runners ([#3456](#3456)) ([ca5b6f8](ca5b6f8)) * Testing `toFields()` length ([#4364](#4364)) ([5d3fce3](5d3fce3)) * Typing contents of `MessageLoadOracleInputs` ([#4351](#4351)) ([433babd](433babd)) * Update docs on comparators ([#4281](#4281)) ([cc2ce9c](cc2ce9c)) * Updating block hash to be header.hash() ([#4286](#4286)) ([d4125e1](d4125e1)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](#4383)) ([14dd0b8](14dd0b8)) ### Documentation * Add simple api description for note_getter_options.status ([#4329](#4329)) ([cc17afe](cc17afe)) * Document stable public state usage ([#4324](#4324)) ([13f709b](13f709b)), closes [#4325](#4325) * Minor quickstart fixes ([#4330](#4330)) ([f85a870](f85a870)) * Update contract deployment section in YP ([#4290](#4290)) ([e99a882](e99a882)) * **yp:** AVM circuit - user memory section ([#4323](#4323)) ([8928fb1](8928fb1)), closes [#4043](#4043) </details> <details><summary>barretenberg.js: 0.22.0</summary> ## [0.22.0](barretenberg.js-v0.21.0...barretenberg.js-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) </details> <details><summary>barretenberg: 0.22.0</summary> ## [0.22.0](barretenberg-v0.21.0...barretenberg-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](#4420)) * Add expression width into acir ([#4014](#4014)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ### Features * Add bit size to const opcode ([#4385](#4385)) ([b2a000e](b2a000e)) * Add expression width into acir ([#4014](#4014)) ([f09e8fc](f09e8fc)) * Add poseidon2 hashing to native transcript ([#3718](#3718)) ([afcfa71](afcfa71)) * **avm:** Add command to call avm proving in bb binary ([#4369](#4369)) ([4f6d607](4f6d607)), closes [#4039](#4039) * **avm:** Back in avm context with macro - refactor context ([#4438](#4438)) ([ccf9b17](ccf9b17)) * **bb:** Wasmtime and remote benchmarking ([#4204](#4204)) ([fd27808](fd27808)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](#4340)) ([8569e7c](8569e7c)) * Implementation for bigint opcodes ([#4288](#4288)) ([b61dace](b61dace)) * Improve ivc bench ([#4242](#4242)) ([9d28354](9d28354)) * Memory only brillig ([#4215](#4215)) ([018177b](018177b)) ### Bug Fixes * Bb build ([#4317](#4317)) ([82f5f03](82f5f03)) * Mac build ([#4336](#4336)) ([aeb4cf0](aeb4cf0)) * Release the size of goblin translator ([#4259](#4259)) ([6e1d958](6e1d958)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) * Collapse bb::honk ([#4318](#4318)) ([5853af4](5853af4)) * Extract merge from UC and simplify ([#4343](#4343)) ([54fd794](54fd794)) * Fix bb wasm build when using remote cache ([#4397](#4397)) ([14e57cb](14e57cb)) * Poseidon2 hash uses span instead of vector ([#4003](#4003)) ([f63e7a9](f63e7a9)) * Rename bigint_neg into bigint_sub ([#4420](#4420)) ([57824fe](57824fe)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@aztec-packages-v0.21.0...aztec-packages-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](AztecProtocol/aztec-packages#4420)) * Add expression width into acir ([#4014](AztecProtocol/aztec-packages#4014)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](AztecProtocol/aztec-packages#4383)) * Unencrypted logs are not strings ([#4392](AztecProtocol/aztec-packages#4392)) * init storage macro ([#4200](AztecProtocol/aztec-packages#4200)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) * introduce compute_note_hash_for_(consumption/insertion) ([#4344](AztecProtocol/aztec-packages#4344)) * replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](AztecProtocol/aztec-packages#4342)) * Include contract class id in deployment info ([#4223](AztecProtocol/aztec-packages#4223)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](AztecProtocol/aztec-packages#4135)) ### Features * Add aztec node to client execution and nuke state info provider [#4320](AztecProtocol/aztec-packages#4320) ([#4401](AztecProtocol/aztec-packages#4401)) ([2dec0cc](AztecProtocol/aztec-packages@2dec0cc)) * Add bit size to const opcode ([#4385](AztecProtocol/aztec-packages#4385)) ([b2a000e](AztecProtocol/aztec-packages@b2a000e)) * Add expression width into acir ([#4014](AztecProtocol/aztec-packages#4014)) ([f09e8fc](AztecProtocol/aztec-packages@f09e8fc)) * Add meta_hwm to PrivateCircuitPublicInputs ([#4341](AztecProtocol/aztec-packages#4341)) ([4f248b5](AztecProtocol/aztec-packages@4f248b5)) * Add poseidon2 hashing to native transcript ([#3718](AztecProtocol/aztec-packages#3718)) ([afcfa71](AztecProtocol/aztec-packages@afcfa71)) * Adding slitherin detectors ([#4246](AztecProtocol/aztec-packages#4246)) ([7cdc186](AztecProtocol/aztec-packages@7cdc186)) * Allow using of current block in inclusion proofs ([#4285](AztecProtocol/aztec-packages#4285)) ([728c5ac](AztecProtocol/aztec-packages@728c5ac)), closes [#4274](AztecProtocol/aztec-packages#4274) * **avm-transpiler:** Brillig to AVM transpiler ([#4227](AztecProtocol/aztec-packages#4227)) ([c366c6e](AztecProtocol/aztec-packages@c366c6e)) * **avm:** Add command to call avm proving in bb binary ([#4369](AztecProtocol/aztec-packages#4369)) ([4f6d607](AztecProtocol/aztec-packages@4f6d607)), closes [#4039](AztecProtocol/aztec-packages#4039) * **avm:** Add revert tracking to the journal ([#4349](AztecProtocol/aztec-packages#4349)) ([1615803](AztecProtocol/aztec-packages@1615803)) * **avm:** Back in avm context with macro - refactor context ([#4438](AztecProtocol/aztec-packages#4438)) ([ccf9b17](AztecProtocol/aztec-packages@ccf9b17)) * **avm:** Complete SET instruction ([#4378](AztecProtocol/aztec-packages#4378)) ([013891f](AztecProtocol/aztec-packages@013891f)) * **avm:** Implement avm state getter opcodes within noir contracts ([#4402](AztecProtocol/aztec-packages#4402)) ([9f2a6eb](AztecProtocol/aztec-packages@9f2a6eb)) * **avm:** Implement serialization for all existing operations ([#4338](AztecProtocol/aztec-packages#4338)) ([13e0683](AztecProtocol/aztec-packages@13e0683)) * **avm:** Keep history of reads and writes in journal ([#4315](AztecProtocol/aztec-packages#4315)) ([cdf1baf](AztecProtocol/aztec-packages@cdf1baf)) * **aztec-nr:** Initial work for aztec public vm macro ([#4400](AztecProtocol/aztec-packages#4400)) ([0024590](AztecProtocol/aztec-packages@0024590)) * **bb:** Wasmtime and remote benchmarking ([#4204](AztecProtocol/aztec-packages#4204)) ([fd27808](AztecProtocol/aztec-packages@fd27808)) * Contract class registerer contract ([#4403](AztecProtocol/aztec-packages#4403)) ([d953090](AztecProtocol/aztec-packages@d953090)), closes [#4069](AztecProtocol/aztec-packages#4069) [#4070](AztecProtocol/aztec-packages#4070) * Crude stable var implementation ([#4289](AztecProtocol/aztec-packages#4289)) ([5f9eee4](AztecProtocol/aztec-packages@5f9eee4)) * **docs:** Docs deeper dive into unconstrained functions ([#4233](AztecProtocol/aztec-packages#4233)) ([6af548e](AztecProtocol/aztec-packages@6af548e)) * Emit single functions from class registerer ([#4429](AztecProtocol/aztec-packages#4429)) ([19e03ad](AztecProtocol/aztec-packages@19e03ad)), closes [#4427](AztecProtocol/aztec-packages#4427) * Extend Historical Access APIs [#4179](AztecProtocol/aztec-packages#4179) ([#4375](AztecProtocol/aztec-packages#4375)) ([c918d8d](AztecProtocol/aztec-packages@c918d8d)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](AztecProtocol/aztec-packages#4340)) ([8569e7c](AztecProtocol/aztec-packages@8569e7c)) * Hashing output of `serialize()` in noir + more tests ([#4365](AztecProtocol/aztec-packages#4365)) ([5a71bb9](AztecProtocol/aztec-packages@5a71bb9)) * Implementation for bigint opcodes ([#4288](AztecProtocol/aztec-packages#4288)) ([b61dace](AztecProtocol/aztec-packages@b61dace)) * Improve ivc bench ([#4242](AztecProtocol/aztec-packages#4242)) ([9d28354](AztecProtocol/aztec-packages@9d28354)) * Include contract class id in deployment info ([#4223](AztecProtocol/aztec-packages#4223)) ([0ed4126](AztecProtocol/aztec-packages@0ed4126)), closes [#4054](AztecProtocol/aztec-packages#4054) * Init storage macro ([#4200](AztecProtocol/aztec-packages#4200)) ([11d9697](AztecProtocol/aztec-packages@11d9697)) * Memory only brillig ([#4215](AztecProtocol/aztec-packages#4215)) ([018177b](AztecProtocol/aztec-packages@018177b)) * Nullified note retrieval in get_notes and view_notes ([#4238](AztecProtocol/aztec-packages#4238)) ([8d02eb7](AztecProtocol/aztec-packages@8d02eb7)) * Private calls and initialization of undeployed contracts ([#4362](AztecProtocol/aztec-packages#4362)) ([f31c181](AztecProtocol/aztec-packages@f31c181)), closes [#4057](AztecProtocol/aztec-packages#4057) [#4058](AztecProtocol/aztec-packages#4058) [#4059](AztecProtocol/aztec-packages#4059) * Sequencer processes transactions in phases ([#4345](AztecProtocol/aztec-packages#4345)) ([78cc709](AztecProtocol/aztec-packages@78cc709)) * Unencrypted logs are not strings ([#4392](AztecProtocol/aztec-packages#4392)) ([25a7ea7](AztecProtocol/aztec-packages@25a7ea7)) * Verify function against contract class id in private kernel ([#4337](AztecProtocol/aztec-packages#4337)) ([e1d832d](AztecProtocol/aztec-packages@e1d832d)), closes [#4056](AztecProtocol/aztec-packages#4056) ### Bug Fixes * **avm-transpiler:** Avm-transpiler bootstrap by tying down rust version ([#4347](AztecProtocol/aztec-packages#4347)) ([09d0730](AztecProtocol/aztec-packages@09d0730)) * **avm-transpiler:** Bump rust toolchain version for transpiler ([#4356](AztecProtocol/aztec-packages#4356)) ([75e30b9](AztecProtocol/aztec-packages@75e30b9)) * **avm:** Fix SendL2ToL1Message implementation ([#4367](AztecProtocol/aztec-packages#4367)) ([ee560c3](AztecProtocol/aztec-packages@ee560c3)) * Aztec binary fixes ([#4273](AztecProtocol/aztec-packages#4273)) ([84e1f7d](AztecProtocol/aztec-packages@84e1f7d)) * Bb build ([#4317](AztecProtocol/aztec-packages#4317)) ([82f5f03](AztecProtocol/aztec-packages@82f5f03)) * Load contract artifact from json ([#4352](AztecProtocol/aztec-packages#4352)) ([47a0a79](AztecProtocol/aztec-packages@47a0a79)) * Mac build ([#4336](AztecProtocol/aztec-packages#4336)) ([aeb4cf0](AztecProtocol/aztec-packages@aeb4cf0)) * **noir-contracts:** Disable transpilation for now ([#4372](AztecProtocol/aztec-packages#4372)) ([37662b7](AztecProtocol/aztec-packages@37662b7)) * Nr codegen to use new protocol types path ([#4353](AztecProtocol/aztec-packages#4353)) ([84e63b1](AztecProtocol/aztec-packages@84e63b1)), closes [#4193](AztecProtocol/aztec-packages#4193) * Relative LogFn import ([#4328](AztecProtocol/aztec-packages#4328)) ([1faead5](AztecProtocol/aztec-packages@1faead5)) * Release the size of goblin translator ([#4259](AztecProtocol/aztec-packages#4259)) ([6e1d958](AztecProtocol/aztec-packages@6e1d958)) * Transpiler build ([#4386](AztecProtocol/aztec-packages#4386)) ([032ddc5](AztecProtocol/aztec-packages@032ddc5)) ### Miscellaneous * `PublicCircuitPublicInputs` and `PrivateCircuitPublicInputs` cleanup ([#4360](AztecProtocol/aztec-packages#4360)) ([b92d690](AztecProtocol/aztec-packages@b92d690)) * `toFields()`/`fromFields(...)` methods in more classes ([#4335](AztecProtocol/aztec-packages#4335)) ([433b9eb](AztecProtocol/aztec-packages@433b9eb)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) ([9c965a7](AztecProtocol/aztec-packages@9c965a7)) * Add bigint solver in ACVM and add a unit test for bigints in Noir ([#4415](AztecProtocol/aztec-packages#4415)) ([e4a2fe9](AztecProtocol/aztec-packages@e4a2fe9)) * Add bootstrap_cache for avm-transpiler ([#4357](AztecProtocol/aztec-packages#4357)) ([bfebebb](AztecProtocol/aztec-packages@bfebebb)) * Add disclaimer ([#4393](AztecProtocol/aztec-packages#4393)) ([6895f52](AztecProtocol/aztec-packages@6895f52)) * Add migration note for serialization change ([#4414](AztecProtocol/aztec-packages#4414)) ([968a3a0](AztecProtocol/aztec-packages@968a3a0)) * **avm:** Make interpreter a function not a class ([#4272](AztecProtocol/aztec-packages#4272)) ([14e8c5c](AztecProtocol/aztec-packages@14e8c5c)) * **avm:** Refactor AVM Simulator and fix issues ([#4424](AztecProtocol/aztec-packages#4424)) ([a6179bd](AztecProtocol/aztec-packages@a6179bd)) * Call stack item cleanup ([#4381](AztecProtocol/aztec-packages#4381)) ([341b0a1](AztecProtocol/aztec-packages@341b0a1)) * Check loading Nargo artifacts works in the cli ([#4355](AztecProtocol/aztec-packages#4355)) ([43b58b3](AztecProtocol/aztec-packages@43b58b3)) * Cleanup + various doc improvements ([#4282](AztecProtocol/aztec-packages#4282)) ([648229c](AztecProtocol/aztec-packages@648229c)), closes [#4264](AztecProtocol/aztec-packages#4264) * Collapse bb::honk ([#4318](AztecProtocol/aztec-packages#4318)) ([5853af4](AztecProtocol/aztec-packages@5853af4)) * Consistent naming of serialization method ([#4379](AztecProtocol/aztec-packages#4379)) ([148d5dc](AztecProtocol/aztec-packages@148d5dc)) * Do not run forge fmt because not everyone has forge installed ([#4430](AztecProtocol/aztec-packages#4430)) ([ecb6c3f](AztecProtocol/aztec-packages@ecb6c3f)) * **docs:** Update broken link ref in slow_updates_tree.md ([#4339](AztecProtocol/aztec-packages#4339)) ([2599d7f](AztecProtocol/aztec-packages@2599d7f)) * Eth address tech debt cleanup ([#4442](AztecProtocol/aztec-packages#4442)) ([153989f](AztecProtocol/aztec-packages@153989f)) * Extract merge from UC and simplify ([#4343](AztecProtocol/aztec-packages#4343)) ([54fd794](AztecProtocol/aztec-packages@54fd794)) * Fix bb wasm build when using remote cache ([#4397](AztecProtocol/aztec-packages#4397)) ([14e57cb](AztecProtocol/aztec-packages@14e57cb)) * Fix clippy warnings in `avm-transpiler` ([#4416](AztecProtocol/aztec-packages#4416)) ([e54ecd2](AztecProtocol/aztec-packages@e54ecd2)) * Format l1-contracts after generating constants ([#4448](AztecProtocol/aztec-packages#4448)) ([de11994](AztecProtocol/aztec-packages@de11994)) * Git subrepo commit (merge) noir ([#4321](AztecProtocol/aztec-packages#4321)) ([348d18a](AztecProtocol/aztec-packages@348d18a)) * Git subrepo pull (merge) noir ([#4331](AztecProtocol/aztec-packages#4331)) ([683f782](AztecProtocol/aztec-packages@683f782)) * Implementing `deserialize()` in Noir structs ([#4384](AztecProtocol/aztec-packages#4384)) ([e63bbae](AztecProtocol/aztec-packages@e63bbae)) * Introduce compute_note_hash_for_(consumption/insertion) ([#4344](AztecProtocol/aztec-packages#4344)) ([26a0d49](AztecProtocol/aztec-packages@26a0d49)) * Optimize prove_note_validity [#4418](AztecProtocol/aztec-packages#4418) ([#4426](AztecProtocol/aztec-packages#4426)) ([4de2540](AztecProtocol/aztec-packages@4de2540)) * Poseidon2 hash uses span instead of vector ([#4003](AztecProtocol/aztec-packages#4003)) ([f63e7a9](AztecProtocol/aztec-packages@f63e7a9)) * Reenable private kernel function tree checks ([#4358](AztecProtocol/aztec-packages#4358)) ([e7db0da](AztecProtocol/aztec-packages@e7db0da)) * Remove hardcoded storage slot values ([#4398](AztecProtocol/aztec-packages#4398)) ([d2294a4](AztecProtocol/aztec-packages@d2294a4)) * Rename bigint_neg into bigint_sub ([#4420](AztecProtocol/aztec-packages#4420)) ([57824fe](AztecProtocol/aztec-packages@57824fe)) * Replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](AztecProtocol/aztec-packages#4342)) ([8368659](AztecProtocol/aztec-packages@8368659)) * Replace relative paths to noir-protocol-circuits ([23de650](AztecProtocol/aztec-packages@23de650)) * Replace relative paths to noir-protocol-circuits ([b8d427f](AztecProtocol/aztec-packages@b8d427f)) * Replace relative paths to noir-protocol-circuits ([113dec1](AztecProtocol/aztec-packages@113dec1)) * Replace relative paths to noir-protocol-circuits ([a79093b](AztecProtocol/aztec-packages@a79093b)) * Replace relative paths to noir-protocol-circuits ([808b4eb](AztecProtocol/aztec-packages@808b4eb)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](AztecProtocol/aztec-packages#4135)) ([9e6605c](AztecProtocol/aztec-packages@9e6605c)) * Simpler noir sync ([#4376](AztecProtocol/aztec-packages#4376)) ([665b35e](AztecProtocol/aztec-packages@665b35e)) * Surpress chained macro warning ([#4396](AztecProtocol/aztec-packages#4396)) ([5e9c790](AztecProtocol/aztec-packages@5e9c790)) * Switch to macos-14 for m1 runners ([#3456](AztecProtocol/aztec-packages#3456)) ([ca5b6f8](AztecProtocol/aztec-packages@ca5b6f8)) * Testing `toFields()` length ([#4364](AztecProtocol/aztec-packages#4364)) ([5d3fce3](AztecProtocol/aztec-packages@5d3fce3)) * Typing contents of `MessageLoadOracleInputs` ([#4351](AztecProtocol/aztec-packages#4351)) ([433babd](AztecProtocol/aztec-packages@433babd)) * Update docs on comparators ([#4281](AztecProtocol/aztec-packages#4281)) ([cc2ce9c](AztecProtocol/aztec-packages@cc2ce9c)) * Updating block hash to be header.hash() ([#4286](AztecProtocol/aztec-packages#4286)) ([d4125e1](AztecProtocol/aztec-packages@d4125e1)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](AztecProtocol/aztec-packages#4383)) ([14dd0b8](AztecProtocol/aztec-packages@14dd0b8)) ### Documentation * Add simple api description for note_getter_options.status ([#4329](AztecProtocol/aztec-packages#4329)) ([cc17afe](AztecProtocol/aztec-packages@cc17afe)) * Document stable public state usage ([#4324](AztecProtocol/aztec-packages#4324)) ([13f709b](AztecProtocol/aztec-packages@13f709b)), closes [#4325](AztecProtocol/aztec-packages#4325) * Minor quickstart fixes ([#4330](AztecProtocol/aztec-packages#4330)) ([f85a870](AztecProtocol/aztec-packages@f85a870)) * Update contract deployment section in YP ([#4290](AztecProtocol/aztec-packages#4290)) ([e99a882](AztecProtocol/aztec-packages@e99a882)) * **yp:** AVM circuit - user memory section ([#4323](AztecProtocol/aztec-packages#4323)) ([8928fb1](AztecProtocol/aztec-packages@8928fb1)), closes [#4043](AztecProtocol/aztec-packages#4043) </details> <details><summary>barretenberg.js: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@barretenberg.js-v0.21.0...barretenberg.js-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) ([9c965a7](AztecProtocol/aztec-packages@9c965a7)) </details> <details><summary>barretenberg: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@barretenberg-v0.21.0...barretenberg-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](AztecProtocol/aztec-packages#4420)) * Add expression width into acir ([#4014](AztecProtocol/aztec-packages#4014)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) ### Features * Add bit size to const opcode ([#4385](AztecProtocol/aztec-packages#4385)) ([b2a000e](AztecProtocol/aztec-packages@b2a000e)) * Add expression width into acir ([#4014](AztecProtocol/aztec-packages#4014)) ([f09e8fc](AztecProtocol/aztec-packages@f09e8fc)) * Add poseidon2 hashing to native transcript ([#3718](AztecProtocol/aztec-packages#3718)) ([afcfa71](AztecProtocol/aztec-packages@afcfa71)) * **avm:** Add command to call avm proving in bb binary ([#4369](AztecProtocol/aztec-packages#4369)) ([4f6d607](AztecProtocol/aztec-packages@4f6d607)), closes [#4039](AztecProtocol/aztec-packages#4039) * **avm:** Back in avm context with macro - refactor context ([#4438](AztecProtocol/aztec-packages#4438)) ([ccf9b17](AztecProtocol/aztec-packages@ccf9b17)) * **bb:** Wasmtime and remote benchmarking ([#4204](AztecProtocol/aztec-packages#4204)) ([fd27808](AztecProtocol/aztec-packages@fd27808)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](AztecProtocol/aztec-packages#4340)) ([8569e7c](AztecProtocol/aztec-packages@8569e7c)) * Implementation for bigint opcodes ([#4288](AztecProtocol/aztec-packages#4288)) ([b61dace](AztecProtocol/aztec-packages@b61dace)) * Improve ivc bench ([#4242](AztecProtocol/aztec-packages#4242)) ([9d28354](AztecProtocol/aztec-packages@9d28354)) * Memory only brillig ([#4215](AztecProtocol/aztec-packages#4215)) ([018177b](AztecProtocol/aztec-packages@018177b)) ### Bug Fixes * Bb build ([#4317](AztecProtocol/aztec-packages#4317)) ([82f5f03](AztecProtocol/aztec-packages@82f5f03)) * Mac build ([#4336](AztecProtocol/aztec-packages#4336)) ([aeb4cf0](AztecProtocol/aztec-packages@aeb4cf0)) * Release the size of goblin translator ([#4259](AztecProtocol/aztec-packages#4259)) ([6e1d958](AztecProtocol/aztec-packages@6e1d958)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](AztecProtocol/aztec-packages#4221)) ([9c965a7](AztecProtocol/aztec-packages@9c965a7)) * Collapse bb::honk ([#4318](AztecProtocol/aztec-packages#4318)) ([5853af4](AztecProtocol/aztec-packages@5853af4)) * Extract merge from UC and simplify ([#4343](AztecProtocol/aztec-packages#4343)) ([54fd794](AztecProtocol/aztec-packages@54fd794)) * Fix bb wasm build when using remote cache ([#4397](AztecProtocol/aztec-packages#4397)) ([14e57cb](AztecProtocol/aztec-packages@14e57cb)) * Poseidon2 hash uses span instead of vector ([#4003](AztecProtocol/aztec-packages#4003)) ([f63e7a9](AztecProtocol/aztec-packages@f63e7a9)) * Rename bigint_neg into bigint_sub ([#4420](AztecProtocol/aztec-packages#4420)) ([57824fe](AztecProtocol/aztec-packages@57824fe)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Removes `create_merge_prover`/`verifier` from `UltraComposer`. They are now constructed directly from their respective class constructors. This PR also simplifies the merge classes and removes the templating on Flavor which was unnecessary. closes AztecProtocol/barretenberg#804
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.22.0</summary> ## [0.22.0](aztec-packages-v0.21.0...aztec-packages-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](#4420)) * Add expression width into acir ([#4014](#4014)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](#4383)) * Unencrypted logs are not strings ([#4392](#4392)) * init storage macro ([#4200](#4200)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) * introduce compute_note_hash_for_(consumption/insertion) ([#4344](#4344)) * replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](#4342)) * Include contract class id in deployment info ([#4223](#4223)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](#4135)) ### Features * Add aztec node to client execution and nuke state info provider [#4320](#4320) ([#4401](#4401)) ([2dec0cc](2dec0cc)) * Add bit size to const opcode ([#4385](#4385)) ([b2a000e](b2a000e)) * Add expression width into acir ([#4014](#4014)) ([f09e8fc](f09e8fc)) * Add meta_hwm to PrivateCircuitPublicInputs ([#4341](#4341)) ([4f248b5](4f248b5)) * Add poseidon2 hashing to native transcript ([#3718](#3718)) ([afcfa71](afcfa71)) * Adding slitherin detectors ([#4246](#4246)) ([7cdc186](7cdc186)) * Allow using of current block in inclusion proofs ([#4285](#4285)) ([728c5ac](728c5ac)), closes [#4274](#4274) * **avm-transpiler:** Brillig to AVM transpiler ([#4227](#4227)) ([c366c6e](c366c6e)) * **avm:** Add command to call avm proving in bb binary ([#4369](#4369)) ([4f6d607](4f6d607)), closes [#4039](#4039) * **avm:** Add revert tracking to the journal ([#4349](#4349)) ([1615803](1615803)) * **avm:** Back in avm context with macro - refactor context ([#4438](#4438)) ([ccf9b17](ccf9b17)) * **avm:** Complete SET instruction ([#4378](#4378)) ([013891f](013891f)) * **avm:** Implement avm state getter opcodes within noir contracts ([#4402](#4402)) ([9f2a6eb](9f2a6eb)) * **avm:** Implement serialization for all existing operations ([#4338](#4338)) ([13e0683](13e0683)) * **avm:** Keep history of reads and writes in journal ([#4315](#4315)) ([cdf1baf](cdf1baf)) * **aztec-nr:** Initial work for aztec public vm macro ([#4400](#4400)) ([0024590](0024590)) * **bb:** Wasmtime and remote benchmarking ([#4204](#4204)) ([fd27808](fd27808)) * Contract class registerer contract ([#4403](#4403)) ([d953090](d953090)), closes [#4069](#4069) [#4070](#4070) * Crude stable var implementation ([#4289](#4289)) ([5f9eee4](5f9eee4)) * **docs:** Docs deeper dive into unconstrained functions ([#4233](#4233)) ([6af548e](6af548e)) * Emit single functions from class registerer ([#4429](#4429)) ([19e03ad](19e03ad)), closes [#4427](#4427) * Extend Historical Access APIs [#4179](#4179) ([#4375](#4375)) ([c918d8d](c918d8d)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](#4340)) ([8569e7c](8569e7c)) * Hashing output of `serialize()` in noir + more tests ([#4365](#4365)) ([5a71bb9](5a71bb9)) * Implementation for bigint opcodes ([#4288](#4288)) ([b61dace](b61dace)) * Improve ivc bench ([#4242](#4242)) ([9d28354](9d28354)) * Include contract class id in deployment info ([#4223](#4223)) ([0ed4126](0ed4126)), closes [#4054](#4054) * Init storage macro ([#4200](#4200)) ([11d9697](11d9697)) * Memory only brillig ([#4215](#4215)) ([018177b](018177b)) * Nullified note retrieval in get_notes and view_notes ([#4238](#4238)) ([8d02eb7](8d02eb7)) * Private calls and initialization of undeployed contracts ([#4362](#4362)) ([f31c181](f31c181)), closes [#4057](#4057) [#4058](#4058) [#4059](#4059) * Sequencer processes transactions in phases ([#4345](#4345)) ([78cc709](78cc709)) * Unencrypted logs are not strings ([#4392](#4392)) ([25a7ea7](25a7ea7)) * Verify function against contract class id in private kernel ([#4337](#4337)) ([e1d832d](e1d832d)), closes [#4056](#4056) ### Bug Fixes * **avm-transpiler:** Avm-transpiler bootstrap by tying down rust version ([#4347](#4347)) ([09d0730](09d0730)) * **avm-transpiler:** Bump rust toolchain version for transpiler ([#4356](#4356)) ([75e30b9](75e30b9)) * **avm:** Fix SendL2ToL1Message implementation ([#4367](#4367)) ([ee560c3](ee560c3)) * Aztec binary fixes ([#4273](#4273)) ([84e1f7d](84e1f7d)) * Bb build ([#4317](#4317)) ([82f5f03](82f5f03)) * Load contract artifact from json ([#4352](#4352)) ([47a0a79](47a0a79)) * Mac build ([#4336](#4336)) ([aeb4cf0](aeb4cf0)) * **noir-contracts:** Disable transpilation for now ([#4372](#4372)) ([37662b7](37662b7)) * Nr codegen to use new protocol types path ([#4353](#4353)) ([84e63b1](84e63b1)), closes [#4193](#4193) * Relative LogFn import ([#4328](#4328)) ([1faead5](1faead5)) * Release the size of goblin translator ([#4259](#4259)) ([6e1d958](6e1d958)) * Transpiler build ([#4386](#4386)) ([032ddc5](032ddc5)) ### Miscellaneous * `PublicCircuitPublicInputs` and `PrivateCircuitPublicInputs` cleanup ([#4360](#4360)) ([b92d690](b92d690)) * `toFields()`/`fromFields(...)` methods in more classes ([#4335](#4335)) ([433b9eb](433b9eb)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) * Add bigint solver in ACVM and add a unit test for bigints in Noir ([#4415](#4415)) ([e4a2fe9](e4a2fe9)) * Add bootstrap_cache for avm-transpiler ([#4357](#4357)) ([bfebebb](bfebebb)) * Add disclaimer ([#4393](#4393)) ([6895f52](6895f52)) * Add migration note for serialization change ([#4414](#4414)) ([968a3a0](968a3a0)) * **avm:** Make interpreter a function not a class ([#4272](#4272)) ([14e8c5c](14e8c5c)) * **avm:** Refactor AVM Simulator and fix issues ([#4424](#4424)) ([a6179bd](a6179bd)) * Call stack item cleanup ([#4381](#4381)) ([341b0a1](341b0a1)) * Check loading Nargo artifacts works in the cli ([#4355](#4355)) ([43b58b3](43b58b3)) * Cleanup + various doc improvements ([#4282](#4282)) ([648229c](648229c)), closes [#4264](#4264) * Collapse bb::honk ([#4318](#4318)) ([5853af4](5853af4)) * Consistent naming of serialization method ([#4379](#4379)) ([148d5dc](148d5dc)) * Do not run forge fmt because not everyone has forge installed ([#4430](#4430)) ([ecb6c3f](ecb6c3f)) * **docs:** Update broken link ref in slow_updates_tree.md ([#4339](#4339)) ([2599d7f](2599d7f)) * Eth address tech debt cleanup ([#4442](#4442)) ([153989f](153989f)) * Extract merge from UC and simplify ([#4343](#4343)) ([54fd794](54fd794)) * Fix bb wasm build when using remote cache ([#4397](#4397)) ([14e57cb](14e57cb)) * Fix clippy warnings in `avm-transpiler` ([#4416](#4416)) ([e54ecd2](e54ecd2)) * Format l1-contracts after generating constants ([#4448](#4448)) ([de11994](de11994)) * Git subrepo commit (merge) noir ([#4321](#4321)) ([348d18a](348d18a)) * Git subrepo pull (merge) noir ([#4331](#4331)) ([683f782](683f782)) * Implementing `deserialize()` in Noir structs ([#4384](#4384)) ([e63bbae](e63bbae)) * Introduce compute_note_hash_for_(consumption/insertion) ([#4344](#4344)) ([26a0d49](26a0d49)) * Optimize prove_note_validity [#4418](#4418) ([#4426](#4426)) ([4de2540](4de2540)) * Poseidon2 hash uses span instead of vector ([#4003](#4003)) ([f63e7a9](f63e7a9)) * Reenable private kernel function tree checks ([#4358](#4358)) ([e7db0da](e7db0da)) * Remove hardcoded storage slot values ([#4398](#4398)) ([d2294a4](d2294a4)) * Rename bigint_neg into bigint_sub ([#4420](#4420)) ([57824fe](57824fe)) * Replace Note::compute_note_hash with Note::compute_note_content_hash ([#4342](#4342)) ([8368659](8368659)) * Replace relative paths to noir-protocol-circuits ([23de650](23de650)) * Replace relative paths to noir-protocol-circuits ([b8d427f](b8d427f)) * Replace relative paths to noir-protocol-circuits ([113dec1](113dec1)) * Replace relative paths to noir-protocol-circuits ([a79093b](a79093b)) * Replace relative paths to noir-protocol-circuits ([808b4eb](808b4eb)) * Serialize, Deserialize and NoteInterface as Traits ([#4135](#4135)) ([9e6605c](9e6605c)) * Simpler noir sync ([#4376](#4376)) ([665b35e](665b35e)) * Surpress chained macro warning ([#4396](#4396)) ([5e9c790](5e9c790)) * Switch to macos-14 for m1 runners ([#3456](#3456)) ([ca5b6f8](ca5b6f8)) * Testing `toFields()` length ([#4364](#4364)) ([5d3fce3](5d3fce3)) * Typing contents of `MessageLoadOracleInputs` ([#4351](#4351)) ([433babd](433babd)) * Update docs on comparators ([#4281](#4281)) ([cc2ce9c](cc2ce9c)) * Updating block hash to be header.hash() ([#4286](#4286)) ([d4125e1](d4125e1)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([#4383](#4383)) ([14dd0b8](14dd0b8)) ### Documentation * Add simple api description for note_getter_options.status ([#4329](#4329)) ([cc17afe](cc17afe)) * Document stable public state usage ([#4324](#4324)) ([13f709b](13f709b)), closes [#4325](#4325) * Minor quickstart fixes ([#4330](#4330)) ([f85a870](f85a870)) * Update contract deployment section in YP ([#4290](#4290)) ([e99a882](e99a882)) * **yp:** AVM circuit - user memory section ([#4323](#4323)) ([8928fb1](8928fb1)), closes [#4043](#4043) </details> <details><summary>barretenberg.js: 0.22.0</summary> ## [0.22.0](barretenberg.js-v0.21.0...barretenberg.js-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) </details> <details><summary>barretenberg: 0.22.0</summary> ## [0.22.0](barretenberg-v0.21.0...barretenberg-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([#4420](#4420)) * Add expression width into acir ([#4014](#4014)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ### Features * Add bit size to const opcode ([#4385](#4385)) ([b2a000e](b2a000e)) * Add expression width into acir ([#4014](#4014)) ([f09e8fc](f09e8fc)) * Add poseidon2 hashing to native transcript ([#3718](#3718)) ([afcfa71](afcfa71)) * **avm:** Add command to call avm proving in bb binary ([#4369](#4369)) ([4f6d607](4f6d607)), closes [#4039](#4039) * **avm:** Back in avm context with macro - refactor context ([#4438](#4438)) ([ccf9b17](ccf9b17)) * **bb:** Wasmtime and remote benchmarking ([#4204](#4204)) ([fd27808](fd27808)) * Folding `GoblinUltra` instances in ProtoGalaxy ([#4340](#4340)) ([8569e7c](8569e7c)) * Implementation for bigint opcodes ([#4288](#4288)) ([b61dace](b61dace)) * Improve ivc bench ([#4242](#4242)) ([9d28354](9d28354)) * Memory only brillig ([#4215](#4215)) ([018177b](018177b)) ### Bug Fixes * Bb build ([#4317](#4317)) ([82f5f03](82f5f03)) * Mac build ([#4336](#4336)) ([aeb4cf0](aeb4cf0)) * Release the size of goblin translator ([#4259](#4259)) ([6e1d958](6e1d958)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([#4221](#4221)) ([9c965a7](9c965a7)) * Collapse bb::honk ([#4318](#4318)) ([5853af4](5853af4)) * Extract merge from UC and simplify ([#4343](#4343)) ([54fd794](54fd794)) * Fix bb wasm build when using remote cache ([#4397](#4397)) ([14e57cb](14e57cb)) * Poseidon2 hash uses span instead of vector ([#4003](#4003)) ([f63e7a9](f63e7a9)) * Rename bigint_neg into bigint_sub ([#4420](#4420)) ([57824fe](57824fe)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Removes `create_merge_prover`/`verifier` from `UltraComposer`. They are now constructed directly from their respective class constructors. This PR also simplifies the merge classes and removes the templating on Flavor which was unnecessary. closes AztecProtocol/barretenberg#804
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@aztec-packages-v0.21.0...aztec-packages-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([AztecProtocol#4420](AztecProtocol#4420)) * Add expression width into acir ([AztecProtocol#4014](AztecProtocol#4014)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([AztecProtocol#4383](AztecProtocol#4383)) * Unencrypted logs are not strings ([AztecProtocol#4392](AztecProtocol#4392)) * init storage macro ([AztecProtocol#4200](AztecProtocol#4200)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) * introduce compute_note_hash_for_(consumption/insertion) ([AztecProtocol#4344](AztecProtocol#4344)) * replace Note::compute_note_hash with Note::compute_note_content_hash ([AztecProtocol#4342](AztecProtocol#4342)) * Include contract class id in deployment info ([AztecProtocol#4223](AztecProtocol#4223)) * Serialize, Deserialize and NoteInterface as Traits ([AztecProtocol#4135](AztecProtocol#4135)) ### Features * Add aztec node to client execution and nuke state info provider [AztecProtocol#4320](AztecProtocol#4320) ([AztecProtocol#4401](AztecProtocol#4401)) ([2dec0cc](AztecProtocol@2dec0cc)) * Add bit size to const opcode ([AztecProtocol#4385](AztecProtocol#4385)) ([b2a000e](AztecProtocol@b2a000e)) * Add expression width into acir ([AztecProtocol#4014](AztecProtocol#4014)) ([f09e8fc](AztecProtocol@f09e8fc)) * Add meta_hwm to PrivateCircuitPublicInputs ([AztecProtocol#4341](AztecProtocol#4341)) ([4f248b5](AztecProtocol@4f248b5)) * Add poseidon2 hashing to native transcript ([AztecProtocol#3718](AztecProtocol#3718)) ([afcfa71](AztecProtocol@afcfa71)) * Adding slitherin detectors ([AztecProtocol#4246](AztecProtocol#4246)) ([7cdc186](AztecProtocol@7cdc186)) * Allow using of current block in inclusion proofs ([AztecProtocol#4285](AztecProtocol#4285)) ([728c5ac](AztecProtocol@728c5ac)), closes [AztecProtocol#4274](AztecProtocol#4274) * **avm-transpiler:** Brillig to AVM transpiler ([AztecProtocol#4227](AztecProtocol#4227)) ([c366c6e](AztecProtocol@c366c6e)) * **avm:** Add command to call avm proving in bb binary ([AztecProtocol#4369](AztecProtocol#4369)) ([4f6d607](AztecProtocol@4f6d607)), closes [AztecProtocol#4039](AztecProtocol#4039) * **avm:** Add revert tracking to the journal ([AztecProtocol#4349](AztecProtocol#4349)) ([1615803](AztecProtocol@1615803)) * **avm:** Back in avm context with macro - refactor context ([AztecProtocol#4438](AztecProtocol#4438)) ([ccf9b17](AztecProtocol@ccf9b17)) * **avm:** Complete SET instruction ([AztecProtocol#4378](AztecProtocol#4378)) ([013891f](AztecProtocol@013891f)) * **avm:** Implement avm state getter opcodes within noir contracts ([AztecProtocol#4402](AztecProtocol#4402)) ([9f2a6eb](AztecProtocol@9f2a6eb)) * **avm:** Implement serialization for all existing operations ([AztecProtocol#4338](AztecProtocol#4338)) ([13e0683](AztecProtocol@13e0683)) * **avm:** Keep history of reads and writes in journal ([AztecProtocol#4315](AztecProtocol#4315)) ([cdf1baf](AztecProtocol@cdf1baf)) * **aztec-nr:** Initial work for aztec public vm macro ([AztecProtocol#4400](AztecProtocol#4400)) ([0024590](AztecProtocol@0024590)) * **bb:** Wasmtime and remote benchmarking ([AztecProtocol#4204](AztecProtocol#4204)) ([fd27808](AztecProtocol@fd27808)) * Contract class registerer contract ([AztecProtocol#4403](AztecProtocol#4403)) ([d953090](AztecProtocol@d953090)), closes [AztecProtocol#4069](AztecProtocol#4069) [AztecProtocol#4070](AztecProtocol#4070) * Crude stable var implementation ([AztecProtocol#4289](AztecProtocol#4289)) ([5f9eee4](AztecProtocol@5f9eee4)) * **docs:** Docs deeper dive into unconstrained functions ([AztecProtocol#4233](AztecProtocol#4233)) ([6af548e](AztecProtocol@6af548e)) * Emit single functions from class registerer ([AztecProtocol#4429](AztecProtocol#4429)) ([19e03ad](AztecProtocol@19e03ad)), closes [AztecProtocol#4427](AztecProtocol#4427) * Extend Historical Access APIs [AztecProtocol#4179](AztecProtocol#4179) ([AztecProtocol#4375](AztecProtocol#4375)) ([c918d8d](AztecProtocol@c918d8d)) * Folding `GoblinUltra` instances in ProtoGalaxy ([AztecProtocol#4340](AztecProtocol#4340)) ([8569e7c](AztecProtocol@8569e7c)) * Hashing output of `serialize()` in noir + more tests ([AztecProtocol#4365](AztecProtocol#4365)) ([5a71bb9](AztecProtocol@5a71bb9)) * Implementation for bigint opcodes ([AztecProtocol#4288](AztecProtocol#4288)) ([b61dace](AztecProtocol@b61dace)) * Improve ivc bench ([AztecProtocol#4242](AztecProtocol#4242)) ([9d28354](AztecProtocol@9d28354)) * Include contract class id in deployment info ([AztecProtocol#4223](AztecProtocol#4223)) ([0ed4126](AztecProtocol@0ed4126)), closes [AztecProtocol#4054](AztecProtocol#4054) * Init storage macro ([AztecProtocol#4200](AztecProtocol#4200)) ([11d9697](AztecProtocol@11d9697)) * Memory only brillig ([AztecProtocol#4215](AztecProtocol#4215)) ([018177b](AztecProtocol@018177b)) * Nullified note retrieval in get_notes and view_notes ([AztecProtocol#4238](AztecProtocol#4238)) ([8d02eb7](AztecProtocol@8d02eb7)) * Private calls and initialization of undeployed contracts ([AztecProtocol#4362](AztecProtocol#4362)) ([f31c181](AztecProtocol@f31c181)), closes [AztecProtocol#4057](AztecProtocol#4057) [AztecProtocol#4058](AztecProtocol#4058) [AztecProtocol#4059](AztecProtocol#4059) * Sequencer processes transactions in phases ([AztecProtocol#4345](AztecProtocol#4345)) ([78cc709](AztecProtocol@78cc709)) * Unencrypted logs are not strings ([AztecProtocol#4392](AztecProtocol#4392)) ([25a7ea7](AztecProtocol@25a7ea7)) * Verify function against contract class id in private kernel ([AztecProtocol#4337](AztecProtocol#4337)) ([e1d832d](AztecProtocol@e1d832d)), closes [AztecProtocol#4056](AztecProtocol#4056) ### Bug Fixes * **avm-transpiler:** Avm-transpiler bootstrap by tying down rust version ([AztecProtocol#4347](AztecProtocol#4347)) ([09d0730](AztecProtocol@09d0730)) * **avm-transpiler:** Bump rust toolchain version for transpiler ([AztecProtocol#4356](AztecProtocol#4356)) ([75e30b9](AztecProtocol@75e30b9)) * **avm:** Fix SendL2ToL1Message implementation ([AztecProtocol#4367](AztecProtocol#4367)) ([ee560c3](AztecProtocol@ee560c3)) * Aztec binary fixes ([AztecProtocol#4273](AztecProtocol#4273)) ([84e1f7d](AztecProtocol@84e1f7d)) * Bb build ([AztecProtocol#4317](AztecProtocol#4317)) ([82f5f03](AztecProtocol@82f5f03)) * Load contract artifact from json ([AztecProtocol#4352](AztecProtocol#4352)) ([47a0a79](AztecProtocol@47a0a79)) * Mac build ([AztecProtocol#4336](AztecProtocol#4336)) ([aeb4cf0](AztecProtocol@aeb4cf0)) * **noir-contracts:** Disable transpilation for now ([AztecProtocol#4372](AztecProtocol#4372)) ([37662b7](AztecProtocol@37662b7)) * Nr codegen to use new protocol types path ([AztecProtocol#4353](AztecProtocol#4353)) ([84e63b1](AztecProtocol@84e63b1)), closes [AztecProtocol#4193](AztecProtocol#4193) * Relative LogFn import ([AztecProtocol#4328](AztecProtocol#4328)) ([1faead5](AztecProtocol@1faead5)) * Release the size of goblin translator ([AztecProtocol#4259](AztecProtocol#4259)) ([6e1d958](AztecProtocol@6e1d958)) * Transpiler build ([AztecProtocol#4386](AztecProtocol#4386)) ([032ddc5](AztecProtocol@032ddc5)) ### Miscellaneous * `PublicCircuitPublicInputs` and `PrivateCircuitPublicInputs` cleanup ([AztecProtocol#4360](AztecProtocol#4360)) ([b92d690](AztecProtocol@b92d690)) * `toFields()`/`fromFields(...)` methods in more classes ([AztecProtocol#4335](AztecProtocol#4335)) ([433b9eb](AztecProtocol@433b9eb)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) ([9c965a7](AztecProtocol@9c965a7)) * Add bigint solver in ACVM and add a unit test for bigints in Noir ([AztecProtocol#4415](AztecProtocol#4415)) ([e4a2fe9](AztecProtocol@e4a2fe9)) * Add bootstrap_cache for avm-transpiler ([AztecProtocol#4357](AztecProtocol#4357)) ([bfebebb](AztecProtocol@bfebebb)) * Add disclaimer ([AztecProtocol#4393](AztecProtocol#4393)) ([6895f52](AztecProtocol@6895f52)) * Add migration note for serialization change ([AztecProtocol#4414](AztecProtocol#4414)) ([968a3a0](AztecProtocol@968a3a0)) * **avm:** Make interpreter a function not a class ([AztecProtocol#4272](AztecProtocol#4272)) ([14e8c5c](AztecProtocol@14e8c5c)) * **avm:** Refactor AVM Simulator and fix issues ([AztecProtocol#4424](AztecProtocol#4424)) ([a6179bd](AztecProtocol@a6179bd)) * Call stack item cleanup ([AztecProtocol#4381](AztecProtocol#4381)) ([341b0a1](AztecProtocol@341b0a1)) * Check loading Nargo artifacts works in the cli ([AztecProtocol#4355](AztecProtocol#4355)) ([43b58b3](AztecProtocol@43b58b3)) * Cleanup + various doc improvements ([AztecProtocol#4282](AztecProtocol#4282)) ([648229c](AztecProtocol@648229c)), closes [AztecProtocol#4264](AztecProtocol#4264) * Collapse bb::honk ([AztecProtocol#4318](AztecProtocol#4318)) ([5853af4](AztecProtocol@5853af4)) * Consistent naming of serialization method ([AztecProtocol#4379](AztecProtocol#4379)) ([148d5dc](AztecProtocol@148d5dc)) * Do not run forge fmt because not everyone has forge installed ([AztecProtocol#4430](AztecProtocol#4430)) ([ecb6c3f](AztecProtocol@ecb6c3f)) * **docs:** Update broken link ref in slow_updates_tree.md ([AztecProtocol#4339](AztecProtocol#4339)) ([2599d7f](AztecProtocol@2599d7f)) * Eth address tech debt cleanup ([AztecProtocol#4442](AztecProtocol#4442)) ([153989f](AztecProtocol@153989f)) * Extract merge from UC and simplify ([AztecProtocol#4343](AztecProtocol#4343)) ([54fd794](AztecProtocol@54fd794)) * Fix bb wasm build when using remote cache ([AztecProtocol#4397](AztecProtocol#4397)) ([14e57cb](AztecProtocol@14e57cb)) * Fix clippy warnings in `avm-transpiler` ([AztecProtocol#4416](AztecProtocol#4416)) ([e54ecd2](AztecProtocol@e54ecd2)) * Format l1-contracts after generating constants ([AztecProtocol#4448](AztecProtocol#4448)) ([de11994](AztecProtocol@de11994)) * Git subrepo commit (merge) noir ([AztecProtocol#4321](AztecProtocol#4321)) ([348d18a](AztecProtocol@348d18a)) * Git subrepo pull (merge) noir ([AztecProtocol#4331](AztecProtocol#4331)) ([683f782](AztecProtocol@683f782)) * Implementing `deserialize()` in Noir structs ([AztecProtocol#4384](AztecProtocol#4384)) ([e63bbae](AztecProtocol@e63bbae)) * Introduce compute_note_hash_for_(consumption/insertion) ([AztecProtocol#4344](AztecProtocol#4344)) ([26a0d49](AztecProtocol@26a0d49)) * Optimize prove_note_validity [AztecProtocol#4418](AztecProtocol#4418) ([AztecProtocol#4426](AztecProtocol#4426)) ([4de2540](AztecProtocol@4de2540)) * Poseidon2 hash uses span instead of vector ([AztecProtocol#4003](AztecProtocol#4003)) ([f63e7a9](AztecProtocol@f63e7a9)) * Reenable private kernel function tree checks ([AztecProtocol#4358](AztecProtocol#4358)) ([e7db0da](AztecProtocol@e7db0da)) * Remove hardcoded storage slot values ([AztecProtocol#4398](AztecProtocol#4398)) ([d2294a4](AztecProtocol@d2294a4)) * Rename bigint_neg into bigint_sub ([AztecProtocol#4420](AztecProtocol#4420)) ([57824fe](AztecProtocol@57824fe)) * Replace Note::compute_note_hash with Note::compute_note_content_hash ([AztecProtocol#4342](AztecProtocol#4342)) ([8368659](AztecProtocol@8368659)) * Replace relative paths to noir-protocol-circuits ([23de650](AztecProtocol@23de650)) * Replace relative paths to noir-protocol-circuits ([b8d427f](AztecProtocol@b8d427f)) * Replace relative paths to noir-protocol-circuits ([113dec1](AztecProtocol@113dec1)) * Replace relative paths to noir-protocol-circuits ([a79093b](AztecProtocol@a79093b)) * Replace relative paths to noir-protocol-circuits ([808b4eb](AztecProtocol@808b4eb)) * Serialize, Deserialize and NoteInterface as Traits ([AztecProtocol#4135](AztecProtocol#4135)) ([9e6605c](AztecProtocol@9e6605c)) * Simpler noir sync ([AztecProtocol#4376](AztecProtocol#4376)) ([665b35e](AztecProtocol@665b35e)) * Surpress chained macro warning ([AztecProtocol#4396](AztecProtocol#4396)) ([5e9c790](AztecProtocol@5e9c790)) * Switch to macos-14 for m1 runners ([AztecProtocol#3456](AztecProtocol#3456)) ([ca5b6f8](AztecProtocol@ca5b6f8)) * Testing `toFields()` length ([AztecProtocol#4364](AztecProtocol#4364)) ([5d3fce3](AztecProtocol@5d3fce3)) * Typing contents of `MessageLoadOracleInputs` ([AztecProtocol#4351](AztecProtocol#4351)) ([433babd](AztecProtocol@433babd)) * Update docs on comparators ([AztecProtocol#4281](AztecProtocol#4281)) ([cc2ce9c](AztecProtocol@cc2ce9c)) * Updating block hash to be header.hash() ([AztecProtocol#4286](AztecProtocol#4286)) ([d4125e1](AztecProtocol@d4125e1)) * Use NoteSerialize and NoteDeserialize traits for note specific serialization ([AztecProtocol#4383](AztecProtocol#4383)) ([14dd0b8](AztecProtocol@14dd0b8)) ### Documentation * Add simple api description for note_getter_options.status ([AztecProtocol#4329](AztecProtocol#4329)) ([cc17afe](AztecProtocol@cc17afe)) * Document stable public state usage ([AztecProtocol#4324](AztecProtocol#4324)) ([13f709b](AztecProtocol@13f709b)), closes [AztecProtocol#4325](AztecProtocol#4325) * Minor quickstart fixes ([AztecProtocol#4330](AztecProtocol#4330)) ([f85a870](AztecProtocol@f85a870)) * Update contract deployment section in YP ([AztecProtocol#4290](AztecProtocol#4290)) ([e99a882](AztecProtocol@e99a882)) * **yp:** AVM circuit - user memory section ([AztecProtocol#4323](AztecProtocol#4323)) ([8928fb1](AztecProtocol@8928fb1)), closes [AztecProtocol#4043](AztecProtocol#4043) </details> <details><summary>barretenberg.js: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@barretenberg.js-v0.21.0...barretenberg.js-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) ([9c965a7](AztecProtocol@9c965a7)) </details> <details><summary>barretenberg: 0.22.0</summary> ## [0.22.0](AztecProtocol/aztec-packages@barretenberg-v0.21.0...barretenberg-v0.22.0) (2024-02-06) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub ([AztecProtocol#4420](AztecProtocol#4420)) * Add expression width into acir ([AztecProtocol#4014](AztecProtocol#4014)) * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) ### Features * Add bit size to const opcode ([AztecProtocol#4385](AztecProtocol#4385)) ([b2a000e](AztecProtocol@b2a000e)) * Add expression width into acir ([AztecProtocol#4014](AztecProtocol#4014)) ([f09e8fc](AztecProtocol@f09e8fc)) * Add poseidon2 hashing to native transcript ([AztecProtocol#3718](AztecProtocol#3718)) ([afcfa71](AztecProtocol@afcfa71)) * **avm:** Add command to call avm proving in bb binary ([AztecProtocol#4369](AztecProtocol#4369)) ([4f6d607](AztecProtocol@4f6d607)), closes [AztecProtocol#4039](AztecProtocol#4039) * **avm:** Back in avm context with macro - refactor context ([AztecProtocol#4438](AztecProtocol#4438)) ([ccf9b17](AztecProtocol@ccf9b17)) * **bb:** Wasmtime and remote benchmarking ([AztecProtocol#4204](AztecProtocol#4204)) ([fd27808](AztecProtocol@fd27808)) * Folding `GoblinUltra` instances in ProtoGalaxy ([AztecProtocol#4340](AztecProtocol#4340)) ([8569e7c](AztecProtocol@8569e7c)) * Implementation for bigint opcodes ([AztecProtocol#4288](AztecProtocol#4288)) ([b61dace](AztecProtocol@b61dace)) * Improve ivc bench ([AztecProtocol#4242](AztecProtocol#4242)) ([9d28354](AztecProtocol@9d28354)) * Memory only brillig ([AztecProtocol#4215](AztecProtocol#4215)) ([018177b](AztecProtocol@018177b)) ### Bug Fixes * Bb build ([AztecProtocol#4317](AztecProtocol#4317)) ([82f5f03](AztecProtocol@82f5f03)) * Mac build ([AztecProtocol#4336](AztecProtocol#4336)) ([aeb4cf0](AztecProtocol@aeb4cf0)) * Release the size of goblin translator ([AztecProtocol#4259](AztecProtocol#4259)) ([6e1d958](AztecProtocol@6e1d958)) ### Miscellaneous * **acir:** Move `is_recursive` flag to be part of the circuit definition ([AztecProtocol#4221](AztecProtocol#4221)) ([9c965a7](AztecProtocol@9c965a7)) * Collapse bb::honk ([AztecProtocol#4318](AztecProtocol#4318)) ([5853af4](AztecProtocol@5853af4)) * Extract merge from UC and simplify ([AztecProtocol#4343](AztecProtocol#4343)) ([54fd794](AztecProtocol@54fd794)) * Fix bb wasm build when using remote cache ([AztecProtocol#4397](AztecProtocol#4397)) ([14e57cb](AztecProtocol@14e57cb)) * Poseidon2 hash uses span instead of vector ([AztecProtocol#4003](AztecProtocol#4003)) ([f63e7a9](AztecProtocol@f63e7a9)) * Rename bigint_neg into bigint_sub ([AztecProtocol#4420](AztecProtocol#4420)) ([57824fe](AztecProtocol@57824fe)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Removes
create_merge_prover
/verifier
fromUltraComposer
. They are now constructed directly from their respective class constructors. This PR also simplifies the merge classes and removes the templating on Flavor which was unnecessary.closes AztecProtocol/barretenberg#804